1. Field of the Invention
The present invention relates to methods and systems for echo elimination, and in particular, relates to methods and systems for double-end talk detection in a communication system.
2. Description of the Related Art
Recently, a hands free communication system, which comprises microphone and speaker and is implemented in a mobile phone and a phone conference device, has become popular. During a hands free communication process, there are at least two terminals performing communication using a hands free communication system. Generally, voice from one of the at least two terminals is referred to as local voice, and voice from the other terminal is referred to as remote voice. The remote voice signals are output by a speaker of the local terminal, wherein part of the remote voice signals are input into a microphone of the local terminal, and are inadvertently transmitted to other remote terminals. Accordingly, echo of the remote voice is generated, and the user may thus hear his/her own voice and echo of other people's voices. In this situation, the echo should be eliminated or cancelled.
In addition, thanks to improvements in modern technology, both output gain of a speaker and input gain of a microphone have substantially increased. For some communication devices, a microphone can receive sound from a speaker without switching to a hands free mode. Accordingly, echo elimination is also required.
For a general echo eliminator, an adaptive filter is utilized for estimating an echo route and composing estimated echo signals to eliminate the estimated echo signals. When voice is transmitted by either of the local terminal or the remote terminal, i.e., single-end talk, it is easy for the adaptive filter to estimate the echo route (for example, the room impulse response value h remains practically constant). When voice is transmitted by both of the local terminal and the remote terminal, i.e., double-end talk, the signals input from the local microphone (also referred to as local microphone signal) may comprise not only an echo of the remote voice, but also local voice and background noise. When double-end talk occurs, the filter coefficient of the adaptive filter strays from the real echo route impulse response. Therefore, adaptation of the coefficient of the adaptive filter should be disabled; otherwise, an incorrect estimation of the echo route would be obtained, and the echo elimination effect would be downgraded accordingly. A double talk detector is used for detecting double-end talk, and adaptation of the coefficient of the adaptive filter is disabled, accordingly. Therefore, double talk detection is important for echo elimination.
There are several methods for double-end talk detection. For example, in “Integrated Echo and Noise Canceller for Hands-Free Applications” (IEEE TRANSACTIONS ON CIRCUITS AND STEMS-II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 49, NO. 3, 2002, March), Seon Joon Park teaches a method for detecting double-end talk by calculating correlation coefficients between signals input from microphone and estimated echo signals, calculating correlation coefficients between signals input from microphone and the error signals (i.e., difference between signals input from microphone and estimated echo signals), and comparing the calculated results with thresholds.
More specifically, the conventional double-end talk detection in a communication system is described, as shown in FIG. 3. A double-end talk detection device calculates a correlation coefficient ρmŷ(k) between signals input from a microphone m(k) and estimated echo signals ŷ(k) and calculates a correlation coefficient ρme(k) between signals input from microphone m(k) and e(k) error signals (i.e., m(k)−ŷ(k)) according to equations (1) and (2).
                                                        ρ                              m                ⁢                                  y                  ^                                                      ⁡                          (              k              )                                =                                                    P                                  m                  ⁢                                      y                    ^                                                              ⁡                              (                k                )                                                                                                          P                    m                                    ⁡                                      (                    k                    )                                                  ·                                                      P                                          y                      ^                                                        ⁡                                      (                    k                    )                                                                                      ,                                                      ⁢                  equation          ⁢                                          ⁢                      (            1            )                                                                                      ρ                              m                ⁢                                                                  ⁢                e                                      ⁡                          (              k              )                                =                                                    P                                  m                  ⁢                                                                          ⁢                  e                                            ⁡                              (                k                )                                                                                                          P                    m                                    ⁡                                      (                    k                    )                                                  ·                                                      P                    e                                    ⁡                                      (                    k                    )                                                                                      ,                            equation        ⁢                                  ⁢                  (          2          )                    
The Pmŷ(k) represents correlation power between m(k) and ŷ(k), Pme(k) represents correlation power between m(k) and e(k), Pm(k) and represent power of m(k), Pŷ(k) represents power of ŷ(k), and Pe(k) represents power of e(k).
In a simulation, the value of |ρmŷ(k)| approaches to 0 for a double-end talk, and the value of |ρmŷ(k)| approaches to 1 for a single-end talk. In addition, the value of |ρme(k)| approaches to 1 for a double-end talk. Therefore, there are two threshold values T1 (for example, ‘0.19’ near to 0) and T2 (0.9 near to 1). The |ρmŷ(k)| and threshold value T1 are compared, an the |ρme(k)| and threshold value T2 are compared. When |ρmŷ(k)|<T1 and |ρme(k)|>T2, the double-end talk detection device determines that double-end talk has occurred; otherwise, the double-end talk detection device determines that single-end talk has occurred or at least double-end talk has not occurred. According to this method, however, in reality, since the transition time periods for switching from double-end talk to single-end talk and for switching from a single-end talk to a double-end talk differ, it is difficult to select suitable thresholds T1 and T2 to correctly detect occurrence of double-end talk. In addition, because the double-end talk detecting device ignores the influence of noise and non-linear echo routes, performance of the double-end talk detecting device decreases when noise and non-linear echo routes exist under a speaker-microphone environment.
Consequently, there is a need for new and effective methods and systems for detecting double-end talk correctly and eliminating echo.